kosovawikiaorg-20200215-history
File Transfer Protocol
File Transfer Protocol (FTP) (shqip: Protokolli i Transferimit të Skedave) është një protokoll rrjeti që përdoret për transferimin e të dhënave nga një kompjuter në një tjetër përmes një rrjeti siç është Interneti. FTP është një protokoll për shkëmbim dhe manipulim të fajllave përmes një rrjeti kompjuterik TCP. Një FTP klient mund të lidhet me një FTP server për të manipuluar fajllat në atë server. Përparësi e tij ndaj shërbimeve tjera është që me futjen (Loging) e kompjuterit personal në atë llogaritësin shërbyes (Server) prezantohet e gjithë amëza e llogaritësit nga aty shpejtë mund të barten ose të shkarkohen regjistra të tëra. Përpos kësaj ky shërbim ofron edhe protokollin FTP i cili e bene të mundshëm prezantimin e amëzës dhe përdorimin e saj nga një kompjuter i largët, sikur të ishte ajo amzë në vetë kompjuterin e perdoruesit. Mënyrat e lidhjes FTP punon përmes TCP-së.RFC 959 - File Transfer Protocol, chapter 8 http://tools.ietf.org/html/rfc959 Sipas parazgjedhjes lidhet portin 21 për lidhje hyrëse nga klientë FTP. Një lidhje në këtë port nga klienti FTP formon rrjedhën kontrolluese përmes së cilës barten udhëzimet nga klienti FTP tek serveri FTP dhe në raste edhe anasjelltas. FTP përdor "out-of-band control", që do të thotë se përdorë një lidhje tjetra për kontrollin dhe të dhënat. Rrjedhimisht, në mënyrë që transferi të zhvillohet, kërkohet një lidhje tjetër, e cila quhet "data stream" apo rrjedha e të dhënave. Varësisht nga mënyra e transferit, procesi i përgatitjes së data stream ndryshon. Porti 21 për kontrollim (ose program), porti 20 për të dhënat. Në mënyrën aktive, klienti FTP hap një port dinamik, ia dërgon serverit FTP numrin e portit dinamik mbi të cilin po funksionon përmes "control stream" dhe pret një lidhje nga serveri. Kur serveri FTP fillon lidhjen e të dhënave me klientin FTP, ai lidh portin burimor me portin 20 në server. Për të përdorur mënyrën aktive, klienti dërgon një PORT komandë, me IP-në dhe portin si argument. Formati për IP dhe port është "h1,h2,h3,h4,p1,p2". Secila fushë është një paraqitje decimale 8 bitëshe e IP-së host, e përndjekur nga një port i përzgjedhur i të dhënave. Për shembull, një klient me IP 192.168.0.1, duke "dëgjuar" mbi portin 49154 për lidhjen e të dhënave do të dërgojë komandën "PORT 192,168,0,1,192,2". Fushat e porteve duhet të interpretohen si p1×256 + p2 = port, ose, në këtë rast, 192×256 + 2 = 49154. Në mënyrën pasive, serveri FTP hap një port dinamik, ia dërgon klientit FTP IP adresën e serverit për t'u lidhur dhe portin në të cilin po dëgjon (një vlerë 16-bitëshe e thyer në një bajt të lartë dhe të ulët, siç shpjegohet më lartë) përmes "control stream" dhe pret një lidhje nga klienti FTP. Në këtë rast, klienti lidh portin burimor të lidhjes në një port dinamik. Për të përdorur mënyrën pasive, klienti dërgon komandën PASV ndaj së cilës serveri do të përgjigjej me diçka si "227 Entering Passive Mode (127,0,0,1,192,52)". Sintaksa e adresës IP dhe portit janë të njëjta me argumentin e PORT kamandës. Në mënyrën e zgjeruar pasive, serveri funksionon njëjtë si në mënyrën pasive por transmeton vetëm numrin e portit (jo të thyer në bajta të lartë dhe të ulët) dhe klienti pandeh se po lidhet me adresën e njëjtë IP që ishte lidhur më parë. Mënyra e zgjeruar pasive ishte shtuar nga RFC 2428 në Shtator 1998. Derisa transferohen të dhënat përmes data stream, control stream qëndron pa vepruar. Kjo mund të shkaktojë probleme me transfera të mëdhaja me firewall të cilat ndalin seancat pas periudhave të gjata të qëndrimit në këtë mënyrë të control stream. Derisa skedat mund të transferohen me sukses, seanca control mund të çlidhet nga firewall, duke shkaktuar ndonjë error. Protokolli FTP përkrah vazhdimin e shkarkimeve të ndërprera duke përdorur komandën REST. Klienti bart numrin e bajteve që tanimë ka pranuar si argument tek komanda REST dhe ri-fillon transferin. Në disa klientë të linjave udhëzuese (command-line clients) për shembull, ekziston një komandë shpesh e injoruar por majft e dobishme, "reget" (që do të dhotë "merr përsëri") që do t'i mundësojë një komande "get" të ndërprerë të vazhdojë, duke shpresuar deri në përfundim, pas një ndërprerjeje të komunikimit. Vazdhimi i ngarkimeve, siqodoftë, nuk është kaq i lehtë. Megjithëse protokolli FTP përkrah komandën APPE për të shtuar të dhëna te një skede (fajlli) në server, klienti nuk e di pozicionin e saktë në të cilin u ndërpre transferi. Ai duhet të gjejë madhësinë e skedës në një mënyrë tjetër, për shembull përmes një liste direktorie ose duke përdorur komandën SIZE. Në mënyrën ASCII, vazhdimi i transferit mund të shkaktojë problem të shumta nëse klienti dhe serveri përdorin karaktere kompjuterike end of line të ndryshme nga njëra tjetra. Qëllimet e FTP-së janë, siç përshkruhen nga RFC-ja e saj: # Promovimi i shpërndarjes së skedave (programve kompjuterike dhe/ose të dhënave). # Frymëzimi i përdorimit direkt apo indirekt të remote computer (kompjuterëve nga largësia). # Mbrojtja e një përdoruesi nga variacionet e sistemeve të ruajtjes së skedave mes hostëve të ndryshëm. # Transferimi i të dhënave në mënyrë të besueshme dhe efikase. Problemet e sigurisë Specifikimi origjinal i FTP-së është metodë thelbësisht e pasigurtë e transferimit të skedave sepse nuk ka metodë të caktuar të transferimit të të dhënave në mënyrë të shifruar (encrypted). Kjo do të thotë se nën shumicën e konfiguracioneve të rrjetit, nofkat (user name), fajlëkalimet, FTP komandat dhe të dhënat e transferuara mund të kapen nga çdokush në rrjetin e njëjtë që përdor një packet sniffer. Ky është një problem jo i rrallë te shumë specifikime të protokollit të Internetit, të shkruara para krijimit të SSL, si HTTP, SMTP dhe Telnet. Zgjidhja e zakonshme për këtë problem është përdorimi ose i SFTP (SSH File Transfer Protocol), ose i FTPS (FTP over SSL), që i jep shifrim SSL ose TLS një FTP-je, siç përshkruhet nga RFC 4217. FTP anonime Një host që ofron shërbimin FTP mund të ofrojë edhe akses FTP anonim. Nën këtë marrëveshje, përdoruesit nuk e kanë të domosdoshme një llogari llogari në atë host. Në vend të saj përdoruesit shkruajnë 'anonymous' ose 'ftp' kur kërkohet nofka. Megjithëse përdoruesve shpesh u kërkohet të dërgojnë email adresën si fjalëkalim, por performohet pak ose fare verifikim në të dhënat e dërgura. Ndërsa FTP klientët modernë zakonisht fshehin procesin e kyçjes anonime nga përdoruesi, klienti ftp jep "të dhëna budallaqe" si fjalëkalim (meqë email adresa e përdoruesit mund të mos njihet nga aplikacioni). Për shembull, agjentët ftp në vijim kanë listuar fjalëkalimet për kyçje anonime: * Mozilla Firefox (3.0.7) — mozilla@example.com * KDE Konqueror (3.5) — anonymous@ * wget (1.10.2) — -wget@ * lftp (3.4.4) — lftp@ Protokolli Gopher është sugjeruar si një alternativë e FTP-së anonime, si dhe Trivial File Transfer Protocol (TFTP) dhe File Service Protocol (FSP). FTP dhe shfletuesit e rrjetit Shumica e shfletuesve modernë të rrjetit dhe menaxhuesit e skedave (file manager) mund të lidhen në serverë FTP, megjithëse atyre mund të ju mungojë përkrahja për ekstenzionet protokollare si FTPS. Kjo lejon manipulimin e skedave nga larg përmes FTP nëpër një ndërfaqe të ngjajshme me atë që përdoret për skeda lokale. Kjo bëhet përmes një FTP URL, e cila merr formën ftp(s)://<''ftpserveraddress''> (p.sh., ftp://ftp.gimp.org/). Një fjalëkalim mund të shtohet sipas dëshirës në URL, p.sh.: ftp(s)://<''login''>:<''password''>@<''ftpserveraddress''>:<''port''>. Shumica e shfletuesve kërkojnë përdorimin e mënyrës pasive FTP, të cilën nuk mund ta mbajnë të gjithë serverët FTP. Disa shfletuesë lejojnë vetëm shkarkimin e skedave, por jo edhe ngarkimin në server. Burimet Lexoni më shumë * RFC 959 – File Transfer Protocol (FTP). J. Postel, J. Reynolds. Oct-1985. * RFC 1579 – Firewall-Friendly FTP. * RFC 2228 – FTP Security Extensions. * RFC 2428 – Extensions for IPv6, NAT, and Extended passive mode. Sep-1998. * RFC 2640 – Internationalization of the File Transfer Protocol. * RFC 3659 – Extensions to FTP. P. Hethmon. March-2007. Lidhje të jashtme * FTP Reviewed — një shikim i protokollit nga nga kënvështrimi i sigurisë * Lista e FTP komandave * FTP Sequence Diagram (Diagrami i Sekuencave FTP) (në formad PDF) * Stimulim i aplikacionit FTP Kategori:Protokollet e Shtresës së Aplikacioneve af:File Transfer Protocol als:File Transfer Protocol ar:بروتوكول نقل الملفات az:FTP bar:File Transfer Protocol be-x-old:FTP bg:Протокол за трансфер на файлове bn:ফাইল ট্রান্সফার প্রোটোকল bs:File Transfer Protocol ca:Protocol de transferència de fitxers cs:File Transfer Protocol da:FTP de:File Transfer Protocol el:File Transfer Protocol en:File Transfer Protocol eo:Dosiero-Transiga Protokolo es:File Transfer Protocol eu:FTP fa:اف‌تی‌پی fi:FTP fr:File Transfer Protocol ga:FTP gl:File Transfer Protocol he:File Transfer Protocol hr:FTP hu:File Transfer Protocol ia:File Transfer Protocol id:File Transfer Protocol is:FTP it:File Transfer Protocol ja:File Transfer Protocol ka:FTP kk:FTP ko:파일 전송 프로토콜 ku:FTP lt:FTP lv:FTP mk:ФТП nl:File Transfer Protocol nn:File Transfer Protocol no:FTP pl:File Transfer Protocol pt:File Transfer Protocol ru:FTP sh:FTP simple:FTP sk:File Transfer Protocol sl:FTP sr:FTP sv:File Transfer Protocol tg:FTP th:เอฟทีพี tl:FTP tr:Dosya aktarım iletişim kuralı uk:FTP ur:تبادلۂ ملف دستور uz:FTP vi:FTP zh:文件传输协议